Skip to content

Remove FingerprintJS from all systems#14362

Merged
dylanjeffers merged 2 commits into
mainfrom
claude/nervous-wiles-b232be
May 20, 2026
Merged

Remove FingerprintJS from all systems#14362
dylanjeffers merged 2 commits into
mainfrom
claude/nervous-wiles-b232be

Conversation

@dylanjeffers
Copy link
Copy Markdown
Contributor

Summary

Removes FingerprintJS visitor identification end-to-end across web, mobile, identity service, AAO, libs, and common.

  • Web/mobile clients: deleted the fingerprintClient services and their callers in sign-in (SignInScreen, ConfirmEmailScreen, signon sagas, OAuthLoginPage, backend saga). authService.signIn no longer accepts visitorId.
  • Identity service: removed fpClient.js, fpHelpers.js, the Fingerprints model and /fp routes. requiresOtp no longer has a visitorId-based bypass — it now just honors the OTP_BYPASS_EMAILS list, so any new device hits OTP (the intended behavior). Added a migration to drop the Fingerprints table.
  • AAO (anti-abuse-oracle): removed useFingerprintDeviceCount and userFingerprints, dropped the fingerprint penalty from overallScore, and removed the Fingerprints UI section from server.tsx.
  • Packages: removed @fingerprintjs/fingerprintjs-pro, @fingerprintjs/fingerprintjs-pro-react-native, and @fingerprintjs/fingerprintjs-pro-server-api from packages/{web,common,mobile,identity-service} and regenerated package-lock.json.
  • Env vars: removed FINGERPRINT_ENDPOINT, FINGERPRINT_PUBLIC_API_KEY, and fpServerApiKey from common Env type, web/mobile env files, and identity config.

Test plan

  • Sign in on web from a fresh browser — OTP is required, sign-in completes
  • Sign in on mobile from a fresh install — OTP is required, sign-in completes
  • OAuth flow on web (/oauth-login-page) — sign-in still works
  • Identity service starts without fpServerApiKey
  • AAO /attestation/ui/user page renders without fingerprint table or column
  • Identity migrations run cleanly (drop-fingerprints applies)

🤖 Generated with Claude Code

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 20, 2026

⚠️ No Changeset found

Latest commit: 8c02b5b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Removes FingerprintJS visitor identification end-to-end: web/mobile
clients no longer fingerprint sign-in, identity service no longer
bypasses OTP for "trusted" devices (all new devices now require OTP,
which was the intended behavior), and the AAO no longer factors
fingerprint device counts into user scores.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dylanjeffers dylanjeffers force-pushed the claude/nervous-wiles-b232be branch from d19c177 to a0ef684 Compare May 20, 2026 03:30
…Id arg

Removing FingerprintJS dropped isGuest/isNativeMobile declarations in the
signIn saga and a visitorId parameter from the signIn action, but missed
three downstream references and one caller still passing visitorId.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🌐 Web preview ready

Preview URL: https://audius-web-preview-pr-14362.audius.workers.dev

Unique preview for this PR (deployed from this branch).
Workflow run

@dylanjeffers dylanjeffers merged commit a30a875 into main May 20, 2026
14 checks passed
@dylanjeffers dylanjeffers deleted the claude/nervous-wiles-b232be branch May 20, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant